home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / utilities / u552.dms / u552.adf / Virus_Checker.doc < prev    next >
Text File  |  1997-10-30  |  45KB  |  939 lines

  1. Virus Checker
  2. -------------
  3.    This Program
  4.  
  5. Virus_Checker is a freely distributable, copyrighted piece of software.
  6. You do not have to pay money to use it, and may upload it wherever you
  7. choose, but you are not allowed to sell Virus_Checker for profit, or
  8. include Virus_Checker on a disk which is sold for profit, without the
  9. author's (John Veldthuis) permission.
  10. Commodore have this permission already.
  11. MegaDisk also have this permission.
  12.  
  13. Money is not solicited but would be welcome.
  14. I can be contacted at the address below.
  15.  
  16. Please send me any more new viruses so I can update Virus_Checker
  17.  
  18. But please don't send a letter asking for a copy without sending me at
  19. least a disk to send it back on. I just cannot afford to do this.
  20.  
  21. John Veldthuis
  22. 21 Ngatai Street
  23. Manaia, Taranaki
  24. New Zealand
  25. Phone  (0624) 8409
  26.  
  27. Email addresses:
  28. FIDO 3:771/400.0
  29. USENET johnv@tower.actrix.gen.nz
  30.  
  31. I have been asked to include the following:
  32.  
  33. Virus_Checker can be kept up to date thanks to the energy and work put into
  34. a global anti-virus information bank founded by Erik Løvendahl Sørensen
  35. from Denmark.
  36.  
  37.   This group has over 120 international members now, among them some of the
  38. programmers of well known anti-virus programs like Steve Tibbet and Jonathan
  39. Potter.  Among the activities of this group are:
  40.  
  41. - Spreading information to anti-virus programmers as fast as
  42.   possible.
  43. - Trying to get names and proof against virus programmers and
  44.   giving the information to the justice department of his/her
  45.   country to press charges.
  46. - Writing articles in popular magazines to inform new Amiga
  47.   users about viruses and how to protect themselves.
  48.  
  49.   All this is volunteer work.  If you want some more information about this
  50. organization or you want to sponsor our work, contact Erik at the following
  51. address:
  52.  
  53. REWARD $ 1000:
  54. -------------
  55. Do  you  know a virus programmer, you can get a reward $ 1000 for his name 
  56. and address. The fact is that the law punish data crime very, very.. hard.
  57. (5  years  in  jail in most countries). We are an international group with 
  58. 200  members, who have started a work to try stop virus spreading . Let me
  59. give you some examples:
  60.  
  61.    Erik Løvendahl Sørensen
  62.    Snaphanevej 10
  63.    4720 Præstø
  64.    Denmark - Europe
  65.  
  66.    Phone: 00 45 53 79 25 12
  67.    Fidonet 2:230/114.26
  68.  
  69. Notes for Enforcer Users
  70. ========================
  71. If you run the program called Enforcer then you will get a few hits when
  72. Virus_Checker starts up as it looks for viruses. You will also get hits if
  73. you do the memory scan again.
  74. Nothing can be done about this as this is the only way to find some
  75. viruses.
  76.  
  77. To use Virus_Checker , place in your startup-sequence the following line -
  78.  
  79. Virus_Checker
  80.  
  81. This will run virus_checker.
  82.  
  83. Or from the CLI Type Virus_Checker and hit return.
  84. You can also double-click on Virus_Checker's icon from Workbench
  85.  
  86. ****** Special Notice for Users of File Packers and Crunchers ******
  87.  
  88. If you use a program such as PowerPacker to make your files smaller then be
  89. aware to check these files before you crunch them. If the file is infected
  90. and you crunch them then VC will not find the virus in the file and each
  91. time you use that file it will infect your machine.
  92. VC will still detect the virus in memory and remove it okay.
  93. So if you get VC telling you your memory is infected but you cannot find it
  94. on any disks then start unpacking any of these files and check them
  95. UNPACKED.
  96.  
  97. **New features**
  98. ----------------
  99. New Features added to Virus_Checker are added to the command line.
  100. The syntax is Virus_Checker -l### -t### -w### -b -q -n -c -u dirname
  101. where ### is any decimal number
  102.  
  103. -l### Tells Virus_Checker  how far from the left edge of the screen to open
  104.       the Virus_Checker window.
  105. -t### Tells Virus_Checker how far down from the top edge of the screen to
  106.       open the Virus_Checker window.
  107. -w### Tells Virus_Checker how wide you want the window. It has a maximum
  108.       size of 386 pixels and a minimum of 200. Any numbers out of this
  109.       range are ignored.
  110. -b    Tells Virus_Checker to send its window to the back of all the other
  111.       open windows.
  112. -n    Tells Virus_Checker not to open a window. It will check memory and
  113.       disks inserted but you will have to use the ARexx port to get it to
  114.       scan the whole disk for Link/File viruses.
  115.       To stop VC, run VC again or use the ARexx port.
  116.       Versions prior to 5.33 opened a 1x1 bit backdrop window but 5.33 on
  117.       do not open any window except requester windows when needed.
  118. -q    Virus_Checker will check all memory, files, and disks for viruses
  119.       then exit. To check the dh0: partition and exit do the following -
  120.       Virus_Checker -q dh0:
  121.       This will check memory, disks, files, and dh0:, then exit.
  122. -c    Disable loading of Config file. You get the defaults.
  123.  
  124. -u    Tempory Option for WB2 user untill other interface is done
  125.       Bring up the User Interface before starting Virus_Checker.
  126.       Only available under WB2.
  127.  
  128. dirname is the directory/file you want checked for File Viruses on startup.
  129.     An example to open the window at x/y position of 200/100 and check DH0:
  130.     is Virus_Checker -l200 -t100 dh0:
  131.  
  132. Any values outside the size of the WB screen are ignored and any non
  133. numerical values are ignored. There must be no spaces between the options
  134. and the numbers. Options may be given in any order.
  135.  
  136. ***  AREXX PORT added ***
  137. -------------------------
  138. An Arexx port has been added to VC so you can make VC do things from an
  139. ARexx script. The port name is  Virus_Checker. Be aware that case is
  140. important and ARexx will not find it if the name is not spelt right.
  141. Here is an example
  142. address 'Virus_Checker'    /* Talk to Virus_Checker  */
  143. 'checkdrive\df0:'          /* Make virus_Checker check df0: for viruses */
  144. 'scanforsaddam\df0:'       /* Make VC check df0: for Saddam virus damage 
  145. 'quit'                     /* Make Virus_Checker shut down */
  146.  
  147. Notice the '\' between the command and the drive name in the middle
  148. examples. This must be put between all commands and their options. 'quit'
  149. does not take an option so does not need the '\' character there.
  150.  
  151. Virus_Checker will understand the following commands
  152.  
  153. checkdrive\drivename      Check drive drivename for file viruses.
  154. scanforsaddam\drivename   Check drive (DF0:-DF3) for Saddam damage.
  155. quit                      Make Virus_Checker shut down.
  156.  
  157. Added for the configuration control
  158. -----------------------------------
  159. (on\off) means enter one eg. resident\on
  160.  
  161. *** These will change as well when new interface is done.
  162.  
  163. resident\(on/off)         If off VC will check then quit (affects startup)
  164. backdrop\(on/off)         If on make VC window a backdrop window
  165. window\(on/off)           If off VC will not open it's window
  166. saveconfig                Save the configuration file to S:VCConfig
  167. openwindow                Make User Interface screen open
  168.  
  169. These next ones will change
  170.  
  171. checkbb\df?: (on/off)     Turn on/off checking of BootBlocks (? = 0-3)
  172. checkfile\df?: (on/off)   Turn on/off checking of Files on floppies (? = 0-3)
  173.  
  174.  
  175. None of the ARexx commands returns results to Arexx.
  176.  
  177. As from Version 5.27
  178. --------------------
  179. If Virus_Checker is already running and you give it a blank command line
  180. then it will ask you if you want to stop Virus_Checker. If you give it a
  181. directory/File name then it will be passed on to the running Checker and
  182. the scan will start straight away.
  183. If you select the VC window and press the s key this will bring up the disk
  184. scan requester and if you press the m key, VC will do another complete
  185. memory scan.
  186.  
  187. Upon running Virus_Checker will first check your memory for viruses and
  188. tell you if any were detected. They will either be removed or disabled. Next
  189. all disks in the drives will be checked. Any disk put into any drive
  190. (df0: to df3:) will be checked. The rest is easy.
  191. Sometimes the machine may GURU when it disables the LAMER Exterminator virus
  192. in memory but if you reboot it should be gone.
  193.  
  194. Keys Active when Virus_Checker window is active
  195. -----------------------------------------------
  196. The Following keys will activate the following functions
  197.  
  198. s -    Will activate the Scan mode (Or Right-AMIGA S key)
  199. m -    Will immediately do a complete memory scan (same as startup)
  200. f -    Will activate the Saddam Disk Scan (used to fix Saddam virus damage)
  201.        (or Right-AMIGA F key)
  202. 0 - 3  Will check the First File in startup-sequence and bootblock on disk
  203.        in drive which matches number
  204. Right-AMIGA Q. Will shut down Virus_Checker
  205.  
  206. Link/File virus check
  207. ---------------------
  208. If you want to check a disk for Link/File viruses then put the disk in
  209. any drive. Make sure the Virus_Checker window is active and use the right
  210. mouse button to bring up the Project Menu. Select the "Link/File Scan"
  211. and release the mouse button.
  212. An alternative way is to just press the 's' key on the keyboard.
  213.  
  214. This will bring up a requester asking you which drive to check.  Enter the
  215. drive name in the box, eg.  DF0:, DH1:,RAD:  etc.
  216. Under WB2.0 you can also use the "Use Requester" option
  217.   It will then check all the files on that drive.  You can also enter
  218. directories if you want to eg, c:  df0:c, df0:libs etc
  219.  
  220. When Virus_Checker is scanning the disk and you know that a directory is
  221. clear and don't want to check it press control-d in the window with the
  222. filenames and Virus_Checker will ignore that directory and go back up one
  223. level.
  224. If you want to stop the check completely press control-c in the window with
  225. the filenames and Virus_Checker will print a break message then stop
  226. scanning the disk and go back to normal scanning.
  227.  
  228. If Virus_Checker brings a requester up that says a program just run has
  229. infected your memory with the Xeno Virus, it has already disabled it.
  230. You should immediately check all files on the disks that are in the drives
  231. at that time. This means that a program that you just ran or a program
  232. some other program just ran is infected with the virus and all files
  233. should be checked to find out which one it was.
  234.  
  235. With viruses which use a RomTag I have decided to clear out all RomTags to
  236. make sure I remove the Viruses from the list. In doing this you will lose
  237. things like Recoverable ram disks such as RAD:, VD0: etc. If you have a
  238. virus make sure that you save anything in the ram disks that you want
  239. before rebooting. The ramdisks and others will disappear on a reboot.
  240. My policy is better safe than sorry.
  241.  
  242. BRAINFILE ADDITION
  243. ------------------
  244. I have added a BrainFile to Virus_Checker as of Version 5.13. When VC finds
  245. a Non-Standard bootblock it will bring up 4 gadgets. The new Gadget is Learn.
  246. Pressing this will allow VC to remember this BootBlock and not bother you
  247. again with it.
  248. To do this VC writes a file called VCBrainFile to the S: directory.
  249. If you have a single drive this will invoke a requester asking that Volume
  250. something be put in the drive. This will then save to the file.
  251. On Startup VC will check for the file in the S: directory and read it if it
  252. is there. If not it will carry on without it. If you get an error then VC
  253. will tell you about it and will happily write over the file next time.
  254.  
  255. CONFIG FILE ADDITION
  256. --------------------
  257.  
  258. This is a tempory thing and will change with teh next release
  259. Use it at your own risk.
  260.  
  261. Virus_Checker will now look in the S: directory for a file of VCConfig.
  262. This file can be used to turn on/off certain parts of Virus_Checker.
  263. It is intended to be changed with a User Interface under WB2.
  264. Under 1.3 you will have to use a Binary File Editor or use the AREXX
  265. interface to set things the way you like them and save the config file.
  266.  
  267. Here is the layout.
  268.  
  269. Offsets
  270. ----
  271. 0-3   VCCF            ;Text Chars to show VC it is a config file
  272. 4-5   Num             ;Window Left Edge (Binary in range of 0-400)
  273. 6-7   Num             ;Window Top Edge  (Binary in range of 0-200)
  274. 8     0 or 1          ;1 = turn on checking of BootBlock in drive 0
  275. 9     0 or 1          ;1 = turn on checking of BootBlock in drive 1
  276. 10    0 or 1          ;1 = turn on checking of BootBlock in drive 2
  277. 11    0 or 1          ;1 = turn on checking of BootBlock in drive 3
  278. 12    0 or 1          ;1 = turn on checking of Files in drive 0
  279. 13    0 or 1          ;1 = turn on checking of Files in drive 1
  280. 14    0 or 1          ;1 = turn on checking of Files in drive 2
  281. 15    0 or 1          ;1 = turn on checking of Files in drive 3
  282. 16    0 or 1          ;0 = do checks and then stop Virus_Checker
  283. 17    0 or 1          ;1 = Open a window for Virus_Checker
  284. 18    0 or 1          ;1 = Virus_Checker uses a Backdrop window
  285. 19    0               ;Just a filer
  286. 20-139 Text           ;Name of Virus_Checker brain File (S:VCBrain)
  287.  
  288. All numbers except the VCCF and the Text of the BrainFile name are binary
  289. numbers.
  290.  
  291. REMEMBER this will change so be warned.
  292.  
  293. Versions
  294. --------
  295. 1.0  - Was an arp.library version.
  296. 1.1  - Was an port to the normal libraries.
  297. 1.2  - Had the ByteBandit virus detection added into it.
  298. 1.3  - Had detection of the 3 Viruses in memory and removal of them.
  299. 1.4  - Added code to detect + remove the Byte Warrior Virus from memory
  300.      and disk.
  301.  
  302. 1.41 - Found a slight bug when using DSM to disassemble this.  The program
  303. was testing low memory instead of a value when checking for the Revenge
  304. Virus.
  305.  
  306. 1.42 - Changed code to be assembled by the CAPE 68K assembler.  which is
  307. much faster than A68k or Assem.  Now also uses base register addressing
  308. mode for data access.
  309.  
  310. 1.43 - Changed code to cut down executable code.
  311. 2.0  - Added Pentagon, System Z, North Star, Obelisk and the
  312.      new IRQ virus which lives in files and not in the Boot Block.
  313. 2.1  - Corrected a few little bugs in program.
  314.  
  315. 3.0 - Did a listing of Source code and found many bugs.  Did a major
  316. rewrite to clean it up and saved about 400 bytes.
  317.  
  318. 3.0 - Now checks for these viruses - SCA, AEK, Byte Bandit, Byte Warrior,
  319. Revenge, Pentagon Circle System Z, North Star, Obelisk, Disk-Doktors and
  320. the latest IBM type virus the IRQ virus.
  321.  
  322. 3.01 - Got a new virus, Lamer Exterminator. Added code to get rid of it.
  323. 3.02 - Got a second version of the Lamer Exterminator virus.
  324. 3.03 - After many requests decided to add checking of BootGirl BootBlocks
  325. which were being registered as Non-Standard.  It now just ignores BootGirl
  326. BootBlocks.
  327.  
  328. 4.00 - Updated to make better use of the Stack.  Now store all variables on
  329. the stack for a saving of 124 bytes in the executable.
  330.  
  331. 4.10 - TimeBomb virus added to code.
  332. 4.20 - Altered startup code to start a separate process to avoid doing
  333.      a RunBack -2 Virus_Checker.
  334. 4.22 - Added Gadaffi virus to checker.
  335. 4.23 - Found a potentially Fatal Error in Code when accessing Unit
  336.      Byte off the Stack.
  337. 4.24 - Added Graffiti, Ultra Fox, and Phantasmumble Viruses.
  338. 4.25 - Added BSG9 virus to code.
  339. 4.26 - Changed Error Checking on BSG9 virus a bit.
  340. 4.27 - Got the War Hawks virus and added it.  Also added V3 of Lamer
  341. Exterminator virus.  Changed checking for BSG9 virus.  Now checks when disk
  342. is inserted into drive.
  343.  
  344. 4.28 - Found I was losing the memory that was used by the program when it
  345. exited.  This was caused by me not UnLoading the Segment used for the
  346. program.  Fixed.
  347.  
  348. 4.29 - Found program got into a continuous loop when there where no RomTags
  349. present in the system.  Fixed.  Also cut code size down a bit more by
  350. combining a few checks.
  351.  
  352. 4.30 - Put further checking in for the BSG9 virus as sometimes the checker
  353. would not find the file on the disk depending on which directory it was in.
  354. Put VKill virus checking in.  Also Ultra Fox and PVLProtector virus
  355. checking added.
  356.  
  357. 4.40 - Put in DosSpeed virus and an Unknown virus.
  358. 4.41 - Stopped Requester that comes up after pulling disk out.
  359. 4.42 - Added JITR virus which was sent to me by Jonathan Potter (AUST).
  360. 4.43 - Added MicroSystems virus checking to code and BootBlock checking of
  361.      the HCS II, Opapa, BackFlash, and Australian Parasite viruses.
  362. 4.44 - Changed code around a bit to get better use of tables and added
  363.      Xeno virus check for Memory only.
  364. 5.00 - Changed user interface to give a new look and better messages.
  365. 5.01 - Major Bug repaired. V5.00 GURU'ed when checking disk. Worked with
  366.      68020 CPU but failed on standard Amigas due to a bad address.
  367. 5.02 - Was not checking startup-sequence properly when disk was put in 3
  368.   1/2" drive when a filename was given as C:SetCPU or something like that.
  369. Came up with a strange filename not being checked.  Fixed.  Added second
  370. version of Byte Bandit Virus, Someone hacked it.  Added code to remove Xeno
  371. virus from files.
  372.  
  373. 5.03 - Slight bug corrected in code.
  374. 5.04 - Have changed this from PD to Freely Redistributable after an offer
  375. from someone to sell Virus_Checker.  I feel this still needs to be at
  376. minimal (copying charge) or no charge to be effective.  Also cleaned up the
  377. code a bit.  This may introduce new bugs so please tell me about them if
  378. you find them Added checking of IRQ virus when checking for Xeno files on
  379. disk.  As the file is in the buffer already this adds very little extra
  380. time to the check.  And better safe than sorry.
  381.  
  382. 5.05 - Changed text when Xeno Virus found after a program has been run
  383.      to warn that the program just run may be the culprit.
  384. 5.06 - Added 16 Bit crew Virus, New Alien Beat Virus, Digital Emotions
  385. virus, Graffiti Virus, two new versions of the Byte Bandit virus, ScarFace
  386. virus, Turk virus, Joshua virus.  Also a little bug when used with NTSC
  387. machines.  You could not display the Boot Block Sectors.  Now Startup
  388. alters for which machine it is on.  The Startup code is only used once and
  389. then the memory for it is freed.
  390.  
  391. 5.07 - Added better Error messages when an error occurs with files.  It
  392. will now say File protected from deletion when the file is protected
  393. instead of just saying could not open file.  Added Butonic virus to
  394. checker.
  395.  
  396. 5.08 - Added Centurions virus to checker.
  397. 5.09 - Got Aids virus but this is a mutant VKill virus and is found
  398. already.  Added Coders nightmare virus to checker.  Added Forpib, GX Team,
  399. Gremlins, and Kauki Virus.  Added Centurions and Butonic virus check when
  400. scanning disk.
  401.  
  402. 5.10 - Finally got IRQ virus and corrected a few bugs in its code.  Added
  403. Target, Clist, Abraham, and FAST virus.  This FAST virus is supposed to be
  404. from the Federation Against Software Theft.  If it is, then they are just
  405. as big arseholes as the pirates themselves.  Added Tick virus.  Added
  406. control-c, control-d to multiscan pass so as to stop the scan if you got
  407. the wrong directory or drive.
  408.  
  409. 5.11 - Slight bug in removing BSG9 virus if virus not in devs: directory.
  410.      Also was picking up some game files as Butonic virus.
  411. 5.12 - Virus_Checker was finding WB2.0 reboot code as the HCS II virus.
  412.      This code may not be in the final release but it is at the moment.
  413.      Also SetPatch code moved a bit. Seems to be the same but different.
  414. 5.13 - Added a Brain File so that you can remember the BootBlocks that
  415.      You want to. Games etc.
  416. 5.14 - Added a feature to allow checking for link viruses on startup
  417.      eg. virus_checker dh0: will check dh0: before carrying on as usual.
  418. 5.15 - Slight bug found with brain file.
  419. 5.16 - ULDV8 virus added. Uses VertB int and RomTag. Very Tame virus.
  420.      Also fixed up bugs when using Enforcer. Showed up some reads to
  421.      non-existent memory.
  422. 5.17 - Added OP1 virus. Seemed to confuse VC into think it had a standard
  423.      Boot block unless write protected.
  424. 5.18 - Had to add extra checking for IRQ virus as it found a program that
  425.      matched IRQ and VC crashed trying to remove the IRQ virus which
  426.      wasn't there.
  427. 5.19 - Added a much asked for feature so that you can tell VC where to put
  428.      its window.
  429. 5.20 - Added a width parameter as well. Also added 1 new virus called the
  430.      SADDAM virus. This virus lives as the Disk-Validator and can infect
  431.      an Amiga simply by putting a disk in the drive.
  432. 5.21 - Added the CCCP virus to the checker.
  433.  
  434. 5.22 - Added another version of the Joshua virus.  Also fixed bug that
  435. occurred when checking for file viruses and a name was in the File Header.
  436. Added -q option to make VC check and then quit.
  437.  
  438. 5.23 - Added ARexx port to Checker.  Will Take commands via Arexx.  See
  439. info above.  Added Disaster Master Virus 2, another file type virus.
  440.  
  441. 5.24 - Added checking memory for Australian Parasite virus, added BootBlock
  442. viruses:- BlowJob ,Butonic-Bahan, Byte Voyager I, Byte Voyager II,
  443. Destructor, DiskGuard, Fast1, ByteWarrior FastLoader (not really a virus),
  444. FICA, Mad II, Hilly, Changed OP1 virus to real name (Joshua), Changed Tick
  445. virus to real name (Julie), Another version of Lamer Exterminator,
  446. MegaMaster, Paradox, Saddam Hussein (Paradox copy), Termigator, SuperBoy,
  447. UltraFox, Vermin viruses.  Another version of the BSG9 file virus was found
  448. so I changed the checking to find both versions.  Added second version of
  449. Butonics File virus, added Hawnes file virus.  Added another version of the
  450. BSG9 virus and Return Lamer File virus.  Did a big rewrite of the checking
  451. for file viruses.  Now reads file once and scans a table of data.  Will do
  452. the same with Link viruses later.
  453.  
  454. 5.25 - VC was finding BootMenu as the Destructor virus.  Changed scanning
  455. of startup-sequence so disks with the cmd sys:c/command would have the sys:
  456. stripped off them.  VC could not find these before.  Fixed bug which
  457. sometimes screwed the virus name reported in the requester.  1 BB virus
  458. added.  Changed name of DOSSPEED virus to its real name.  Revenge Lamer
  459. Ext.
  460.  
  461. 5.26 - Fixed bug that was shown when disk in df1:  had a startup-sequence
  462. entry that said df0:filename.  Tried to access df0:  when no disk in drive.
  463. Added Turk Virus file carrier.  This was a file that carried to Boot Block
  464. virus Turk.  Added a logic bomb file virus.  This would wipe out a floppy
  465. after the the file had been run so many times.  Added about 10 new
  466. BootBlock viruses.
  467.  
  468. 5.30 - Fixed bug that showed up as DF0:2has...  and no learn gadget on
  469. display.  Added -n option to make VC window 1x1 pixel/backdrop effectively
  470. no window.  Also added keys to VC.  Press 's' key to start Disk Scan (same
  471. as right mouse button), 'm' to do a memory check.  Added a Lamer TimeBomb
  472. Virus, EMWurm logic bomb, and another version of the Travelling Jack virus.
  473. FixSaddam code added to Checker instead of a seperate program
  474.  
  475. 5.31 - Small problem with startup from Workbench corrected.
  476.  
  477. 5.32 - Fixes a major bug in the FixSaddam code.  It Guru'ed under 68000
  478.      sometimes and never fixed the Checksums properly.
  479.  
  480. 5.33 - Released 6 November 1991.
  481.  
  482. WB2.0 BootBlock added to code.
  483. True no window option added for those users of WB2.0.
  484. Added liberator virus and fixed slight bug with Saddam virus,did not reset
  485. TD BeginIo Close vectors.
  486.  
  487. 5.34 - Released 12 November 1991
  488.  
  489.   Increased stack size to 4000 bytes as it was crashing when used with
  490. PowerPacker Patcher.  Added Hackers Etic BB virus Little problem with the
  491. CTRL-C and CTRL-D when used in FixSaddam mode
  492.  
  493. 5.35 - Released 21 November 1991
  494.  
  495.   Added support for the asl.library FileRequester when running under WB2
  496. When you select scan disk you can now select Use Requester gadget and this
  497. will bring up the asl FileRequester
  498.  
  499. 5.36 - Released 23 November 1991
  500.  
  501. Added better handling of Proportional fonts. Requesters look much better now
  502.  
  503. 5.37 - Released 22 December 1991
  504.  
  505.   When scanning the disk for Saddam virus damage and the disk is
  506. unvalidated, VC will change the disk so that it looks validated.  VC will
  507. not validate the disk but will make AmigaDOS think it is.  VC will warn you
  508. when it does this so you can check the disk with a program such as FixDisk,
  509. Quarterbacktools or (God help me) DiskDoctor.
  510.   Small bug in ARexx interface.  If you used OPTIONS RESULTS then VC did
  511. not recognize the command.
  512.   Added WB2.0 ExAll() code for Link/File scan.  This fixes the bug with
  513. RAM:  and deleting files while scanning.  Only works with WB2.  Using WB2
  514. and ExAll() is alot faster than WB1.3.  A test on my DH0:  showed WB1.3
  515. took 1 minute 28 seconds while WB2 took 1 minute.  This was on 531 files in
  516. about 12 directories.
  517.   Found furthur bug in Requester with Fonts in WB2.04.  Window opens up
  518. with normal default font and not what was set.  Now do a SetFont() so I
  519. know what I am getting.  Real big fonts eg 24 point still seem to muck up
  520. placement of the gadgets but at least it stills readable.
  521.   Added menus to VC window.  This means right mouse button for Disk Scan
  522. will no longer work.
  523.   Bug found in shutdown code.  If you pressed the right mouse button after
  524. clicking on the close gadget then VC would GURU.
  525.  
  526. 5.38 - Released 15 January 1992
  527.      
  528. Started adding options screen to VC under WB2.0.
  529. Configure file is added as S:VCConfig. Set using options screen under WB2
  530. but under 1.3 you will have to edit by using a binary file editor or the
  531. AREXX commands.
  532. Added Exec DoIO and Trackdisk.device beginio to vector scan. If these
  533. change VC will warn you.
  534. Small bug, when you removed disk while scanning it. WB2 would recover but
  535. 1.3 started putting out rubbish.
  536. Added 2 versions of Byte Parasite File Virus, another Lamer Trojen, Freedom
  537. file virus,
  538. Added BootBlock viruses, Dotty, another Mad version, Fast Eddie, French -
  539. Kiss, NastyNasty, TriSector, Taipan, Many other new BootBlock viruses but
  540. these are all just mutants of other viruses (Messages changed)
  541.  
  542. ************************************************************************
  543.  
  544. NON-STANDARD BOOT CODE
  545.  - When Virus_Checker brings up a Requester that says the disk has
  546. non-standard boot code this means that the code in the boot block is not
  547. what should be there. This does not mean that it is a virus as many games
  548. use copy protection in their boot blocks. You should however be cautious if
  549. it is not a game. DO NOT REPLACE THEW BOOT BLOCK IF YOU ARE NOT SURE. If
  550. something strange happens then please send a copy of the disk to me so that
  551. I can check it out.
  552. Here is a way of checking non-standard boot code
  553.  
  554. 1.      Format a blank disk so you know it is clear.
  555. 3.      Make sure all disks except the one just formatted are write protected
  556. 3.      Boot from the disk that you suspect.
  557. 4.      Place formatted disk in drive zero and then reboot.
  558. 5.      Take disk out of drive zero and turn off computer for about 30 secs.
  559. 6.      Run the Virus_Checker program. If the Virus_Checker finds
  560.         non-standard boot code on the newly formatted disk you have found a
  561.         new virus. Please send it to me.
  562.  
  563.   Viruses Dealt With:
  564.   -------------------
  565.  
  566. SCA
  567.  - The SCA is the simplest virus to deal with, as it's not actually DOING
  568. anything except hiding in memory, until you reboot.  We just look at
  569. CoolCapture and fix it to get it out of RAM.
  570.  
  571. AEK
  572.  - This is a clone of the SCA virus and we get rid of it in the same
  573. manner.
  574.  
  575. LSD 
  576.  - Another SCA clone and uses the same code.
  577.  
  578. Byte Bandit  (Now 4 versions)
  579. (Amiga Freak)
  580.  - The Byte Bandit virus takes the DoIO() vector and re-directs it through
  581. itself.  Thus, any attempt to read or write the boot block (ie, AmigaDOS
  582. trying to figure out what kind of disk it is) results in the BB writing
  583. itself onto that disk.  We couldn't just rewrite the boot block, we have to
  584. get him out of RAM first.  This virus also has an interrupt that crashes the
  585. machine every 5 minutes or so after it's infected a few of your disks. Ow.
  586. It stays in memory not via the Capture vectors, but by a Resident module.
  587. When machine looks crashed press these keys at the same time from left to
  588. right LAlt,LAmiga,Space,RAmiga,RAlt.
  589.  This will restore things for another 5 minutes.
  590.  
  591. Revenge
  592.  - Basically, a Byte Bandit clone except it will bring up an obscene pointer
  593. a few minutes after you reboot.  We treat it much like the byte bandit.
  594.  
  595. Byte Warrior
  596.  - Jumps right into 1.2 Kickstart.  Won't work under 1.3.
  597.  Hangs around via Resident struct, doesn't do any damage.
  598.  
  599. North Star/ StarFire
  600.  - Like SCA, hangs around via CoolCapture, killing CoolCapture kills the
  601. North Star.
  602.  
  603. Obelisk Softworks Crew
  604.  - Hangs around via CoolCapture, also watches reads of DoIO() (but doesn't
  605. infect EVERY disk - only ones you boot from).
  606.  
  607. IRQ
  608.  - This is the FIRST Non-Bootblock Virus.  It copies itself from place to
  609. place via the first executable program found in your startup-sequence.  It
  610. SetFunction's OldOpenLibrary(), has a KickTagPtr, and lives in the first
  611.  hunk of an infected program.
  612.  
  613. Pentagon Circle
  614.  - This one looks at the DoIO vector, and has a CoolCapture vector. It will
  615. write itself over any virus inserted, but not onto anything else. No
  616. danger, easy to eliminate.  Holding left button while booting with this one
  617. shows different screen colour, but doesn't get rid of it.
  618.  
  619. HCS Virus
  620.  - Hooks into the System Z protector
  621.  
  622.  - This is another virus protector that can write itself to disks.  Anything
  623. that spreads itself, under any name, is a virus.  Doesn't do anything except
  624. during a reboot, then examines disks and writes over viruses.
  625.  
  626. Disk-Doktors
  627.  - This is another virus which looks at the DoIO routine for the reading of
  628. any bootblocks.  If it finds one it will rewrite a copy of its code to it if
  629. it can.  This one also patches into the Vertical Blank interrupt and seems
  630. to format your disk after a certain number of interrupts (can't be sure
  631. though).The nasty bit is it also creates a task called clipboard.device
  632. which spends its life copying itself through memory fragmenting the memory
  633. into small blocks.  Calls ROM CODE direct so won't work under V1.3.  We
  634. restore the DoIO routine, the Vert Blank interrupt and RemTask the
  635. clipboard.device
  636.  
  637. LAMER Exterminator
  638.  - This virus was sent to me by Andrew Mercer of the Palmerston North group.
  639. His letter said that He noticed strange things on his disks.  On
  640. disassembling the virus I found that most of it was encrypted and the data
  641. was encrypted randomly using the beam position of the screen.  Thus it
  642. appears different each time.  It patches the trackdisk.device to look at
  643. reads and writes, It patches the Sumkick vector in exec in case someone
  644. tries to get rid of it. When it detects a read or a write it will randomly
  645. select a sector on the disk and will check if it is a data block.  If it is
  646. it will write LAMER! all over the sector and rewrite it.  Some say this
  647. Virus will write to write protected disks.  I have not had this happen to me
  648. and I can see no special code in the disassembly to accomplish this feat.
  649.  
  650. TimeBomb Virus
  651.  - This is a strange Virus. It does not insert itself into any vectors.
  652. However it will copy itself back to the disk it came from.  When the
  653. count gets to 2 it will wipe out the Root Directory of the boot disk and
  654. display an alert.  If the count is over 2 it will just display an alert.
  655.  
  656. GADAFFI Virus
  657.  - Inserts itself into the CoolCapture vector, Uses a RomTag structure and
  658. patches the DoIO vector. Jumps directly into the Kickstart so will only work
  659. under V1.2 Kickstart. After 13 copies it will step the heads of drives 0
  660. and 1 in and out.  We simply clear all vectors and Use the old V1.2 DoIO
  661. code entry point.
  662.  
  663. BSG9 Virus 
  664. - This is similar to the IRQ virus in that it does not live in the Boot
  665. Block.  It operates differently.  Inserts itself into the RomTag pointer.
  666. It then loads the program it replaced and executes it.  On Reboot the RomTag
  667. is called.  It patches the Intuition OpenWindow Routine to its code.  It
  668. then returns.  Once AmigaDos opens up the CLI window the virus code gets
  669. run.  This gets the startup-sequence file and gets the first command that
  670. is run.  It then checks if it is already here. If not, then it moves this
  671. program from its directory into the devs:  directory and renames it a
  672. strange name.It then copies itself to replace the command it just moved.  A
  673. give away is the file size.  The Virus size is 2608 bytes and there will be
  674. a file with what looks like spaces for its name in the devs:  directory. To
  675. get rid of it we copy the file in devs:  back to the c: directory and rename
  676. it.Then delete the file in the devs:  directory.  In memory all we do is
  677. change the RT_INIT code which is run on reboot to do an immediate RTS. The
  678. memory for the program is still used but the Virus is disabled.  It will
  679. display a screen of its own which says:
  680.  A Computer Virus is a disease
  681.  Terrorism is a Transgression
  682.  Software Piracy is a crime
  683.  This is the Cure
  684.  BSG9 plus some other junk
  685.  
  686. War Hawks 
  687. - This Virus installs itself into the CoolCapture Vector.  It copies itself
  688. to the disk when the computer is warm booted.  After every four copies it
  689. displays a message.  To get rid of it we simply clear the CoolCapture vector.
  690.  
  691. VKill or Aids Virus  
  692.  - This is another virus hidden as a Virus protector.  When booted it copies
  693. itself to the stack area that is not used.  It then patches the CoolCapture
  694. vector to survive a reboot.  It patches the PutMsg vector of ExecBase to
  695. watch for BootBlock reads and writes.When it finds one it checks it and
  696. tells you if a virus is present.If you want to get rid of it it will copy
  697. itself to the disk.To remove it we Clear the CoolCapture Vector and
  698. SetFunction the PutMsg vector
  699.  
  700. Ultra Fox
  701.  - This one lives in the CoolCapture vector. When you reboot it will change
  702. the DoIO vector and wait for a BootBlock read.When it finds one and the disk
  703. is not already infected it will write itself to the bootblock.After every 16
  704. copies it will put a custom copper list which displays greetings.
  705.  
  706. PVLProtector
  707.  - This one is another bootblock protector.When it finds a virus it will
  708. write itself to the disk instead of a proper bootblock.  All we do is set
  709. the RomTag to do a RTS.
  710.  
  711. Revenge Lamer Exterminator (previously DOSSPEED)
  712.  
  713.  - This is another file virus.  It is supposed to speed up disk operations
  714. by 800%.  This was found on a BBS and when run patches itself into several
  715. places. It will read the s:startup-sequence file on reboot and will edit it
  716. so that it runs itself as the program. It sticks out because the first line
  717. in the startup-sequence will be blank.When the Checker finds it look in the
  718. Root directory and you will find what looks like a blank filename. Virus
  719. Checker will rename this virus for you. You can then delete the virus and
  720. alter your startup-sequence to get rid of the first blank line
  721.  
  722. UnKnown
  723.  - This is a virus that has no names anywhere and will only work under V1.2
  724. Kickstart.  Very easy to get rid of.
  725.  
  726. JITR Virus
  727.  - Very mild sort of virus this one.  Only writes itself to the BootBlock.
  728. Does nothing else.  Easily fixed by clearing the CoolCapture vector.
  729.  
  730. MicroSystems
  731.  - Haven't got this one yet so can't tell you much about it. Just have to
  732. restore a vector in the Exec.library and clear the Exec CoolCapture vector.
  733.  
  734. Xeno Virus
  735.  - This virus is a very nasty one in the way that it infects all programs
  736. that can be run. It does not need the program to be run but even someone
  737. doing a list or dir on a disk when the virus is present will infect all
  738. those other files on disk. It patches into the dos.library and takes over
  739. the OPEN,LOCK and LOADSEG calls in dos. This way it can intercept the files
  740. being looked at. It will copy itself to the start of every runnable program
  741. and alter the file so that it still works. There is also an encrypted
  742. message which says 'Greetings from the Xeno Virus' but I have not worked out
  743. when this appears yet. To get rid of it from memory we have to reset the
  744. changed vectors. To get rid of it from the file is very much harder. First
  745. the file has to have the virus removed from the code. Then the relocation
  746. data pointers have to be changed so that everything still works.
  747.  
  748. 16 Bit Crew
  749.  - This virus does not do much and only infects disks that you boot with.
  750. To get rid of it from memory we clear the CoolCapture Vector and restore
  751. the DoIO vector.
  752.  
  753. New Alien Beat Virus
  754.  - This one will only work under Version 1.2 Kickstart as it jumps into
  755. the ROM code directly. To fix in memory we have to manually patch the
  756. DoIO vector and FindResident Vector with the correct values for 1.2.
  757. and clear the Capture vectors.
  758.  
  759. BlackFlash virus
  760.  - This virus will display a message after a certain amount of copies of
  761. it have been made. It says that your computer is sick and has a virus. To
  762. remove it we just restore the DoIO vector and clear out the capture
  763. vectors.
  764.  
  765. Digital Emotions virus
  766.  - This is another tame virus. Only infects disks when it is rebooted.
  767. Clean out the Captures vectors and it is gone.
  768.  
  769. ScarFace Virus
  770.  - This takes over the BeginIO routine in the trackdisk.device to watch for
  771. reads and writes to the disk. When it finds one it will write itself to the
  772. disk. It also has a VertBlank interrupt which will do something after
  773. a while. I think it only reboots the machine. It also has a romtag which we
  774. have to clear out.
  775.  
  776. Turk Virus
  777.  - Another simple virus. Does not do very much. Simple to get rid of.
  778.  
  779. Joshua Virus
  780.  - Again, lives in the TrackDisk BeginIO and VertBlank Interrupt.
  781. Also has a RomTag to survive reboots. This one will display a sprite after
  782. so many interrupts. I am not sure what it looks like but maybe someone
  783. wants to wait until it is triggered. It counts interrupts. It will also
  784. infect every disk but in the drive that is not write protected. Data in it
  785. that says something is encoded. To remove we simply restore the BeginIO
  786. code and VertBlank Interrupt and wipe out the RomTag.
  787.  
  788. Butonic Virus
  789.  - This is another file type virus. It uses the DoIO vector to check for
  790. reads to the Root Block of a disk. It will then write the virus to the disk
  791. and add it to the startup-sequence as the first instruction. The filename
  792. of the virus and its comment make it invisible when doing a dir but shows
  793. up with a list. This will also bring up GURU messages and change the title
  794. of the active window to some german stuff.
  795. To get rid of it we clear the ROMTAG, restore the DoIO vector and delete
  796. the file off the disk. You will need to remove the blank line from the
  797. startup-sequence where the virus was.
  798. The second version of this infects the Level 2 Interrupt as well and uses
  799. different file names to hide itself in the startup-sequence.
  800.  
  801. Centurions Virus
  802.  - Another file type virus. It hooks into the Trackdisk BEGINIO vector and
  803. waits for reads to the boot block of a disk. It changes the SumKickData
  804. vector so that it will survive a checksum. To get rid of it in memory we
  805. simply kill the RomTag vector, restore the SumKickData vector and patch the
  806. trackdisk code it uses to skip over the virus.
  807. When it finds a read to the bootblock it will check the write protect. It
  808. will then find the startup-sequence and find the name of the first command.
  809. It then looks for the command in the root directory, then the c directory.
  810. Once found it adds itself to the front of the file and is run when the
  811. startup-sequence is run again. Signs of infection are that it adds 3916
  812. bytes to the size of the file it infects.
  813. After every ten copies it will change the pointer to a smiley face and a
  814. message will scroll across it.
  815.  
  816. Coders Nightmare Virus
  817.  - A boot block virus. Fairly tame this one but it will wreck copy
  818. protected disks. It takes over the DoIO vector waiting for reads to track
  819. zero block 0 then it writes itself to the disk if it can. It has a level 2
  820. interrupt which after a time will display a message and then reboot the
  821. machine. To remove we just reset the DoIO and Level 2 Interrupt vectors and
  822. clear out the RomTag.
  823.  
  824. Forpib Virus
  825.  - Another boot block virus. It takes over the Trackdisk BeginIO vector and
  826. waits for reads to block 0. Then it copies itself if it can. It also has a
  827. VertBlank Interrupt and after a certain time a message will appear. (I
  828. think). There is a bug in this in that it tries to use a color register but
  829. it has got the wrong value in there. To remove just restore both vectors
  830. and remove the RomTag.
  831.  
  832. GX Team virus
  833.  - Yet another bootblock virus. This just takes over the DoIO vector and
  834. after a certain number of copies it will bring up a requester then guru.
  835. To remove replace the DoIO vector and clear RomTag and Capture vectors.
  836. This virus will only work under version 1.2 kickstart.
  837.  
  838. Gremlins virus
  839. - Yes another bb virus. Sickening isn't it. Don't know what this one does but
  840. very easy to remove. Just zero the Capture vectors, restore the SumKickData
  841. vector and DoIO vector and it's gone.
  842.  
  843. Kauki virus
  844. - This boot block virus will only work under Version 1.2 kickstart. As I
  845. don't have it I can't tell you what is displayed but something is
  846. displayed. Easy to get rid of. Just clear the Capture vector and set the
  847. DoIO vector to $FC06DC just to make sure.
  848.  
  849.  
  850. Have given up Telling what BootBlock viruses do as they are mostly the same
  851. and all work the same way. From now on I will only give descriptions on File
  852. Type viruses.
  853.  
  854. SADDAM virus
  855. - This is a file type file that hides itself as the Disk-Validator. The
  856. disk on which it came was unvalidated so AmigaDOS loaded it to try and
  857. validate the disk. This causes the virus to run and infect your machine.
  858. It does infect a lot of vectors that need fixing when it is found.  I just
  859. wipe it off the disk and it is left to the user to put a new Disk-Validator
  860. on the disk.
  861. It will change the root block BitMap pointer so that if the virus is not
  862. running AmigaDOS will think the disk is UnValidated and load the virus.
  863. It will also change DATA blocks so DOS does not know them unless the virus
  864. is running. When the virus is triggered it will wipe out the whole disk and
  865. bring up a Requester telling you it is the SADDAm virus.
  866.  
  867. CCCP virus
  868. - This a combination Bootblock and file virus. It changes itself so that it
  869. will write to the BootBlock and to random files on the disk. The only way
  870. to find it on disk is to scan the whole disk.
  871.  
  872. Disaster Master 2
  873. - This is a fairly simple File type virus. It will write to a disk after a
  874. warm boot and if there is enough room on the disk will make a file called
  875. cls in the c directory and add cls * as the first line in the
  876. startup-sequence.
  877. We just clear the RomTag and Capture vectors, check the DoIO vector and
  878. that's it for memory. Just wipe the file off the disk and warn the User
  879. about the startup-sequence.
  880.  
  881. Hawnes virus
  882. - A simple file type virus. It infects the OpenLibrary vector waiting for an
  883. opening of intuition.library. It then patches OpenWindow to it's own
  884. routine. When a window opens it checks the startup-sequence and if not
  885. already present copies itself to the disk using DOS. It patched the VertB
  886. int and will display something after a while. It will Wipe out a disk after
  887. so many copies as well. Simple to remove and alter the first line in your
  888. startup-sequence which will hold in hex $C0A0E0A0C0.
  889.  
  890. Return Lamer virus
  891. - Another file type virus which replaces the Disk-Validator.It uses a
  892. RomTag to stay in memory, infects vectors, VertBlank Int, TrackDisk.device
  893. BeginIO, and another vector in the trackdisk. When the RomTag is called it
  894. infects the OpenWindow vector.
  895. Just delete the Disk-Validator and replace it from a good disk.
  896. In memory, just restore the vectors and clear the RomTag out.
  897.  
  898. Travelling Jack virus
  899. - A Link type virus this one installs itself into the internals of AmigaDOS
  900. taking over the BCPL inner workings. To check in memory we have to wind our
  901. way thru many vectors and then reinstall the original from the virus.
  902. To remove from file we just remove the first code hunk.
  903. Seems to copy itself to each file that has been read but not sure on this.
  904.  
  905. Liberator virus
  906. - This is a file virus that says it will remove all viruses but is in fact
  907. a virus itself.
  908. It copies itself to the s/startup-sequence with a line that says
  909. memcheck s
  910. You will also find a file called .FastDir on the disk.
  911. After a certain count it will delete the entire s/startup-sequence and
  912. display a message, stop access to the floppy drives and DH0:
  913. It will also stop most virus checking programs by RemTask()ing them.
  914. Virus_Checker 5.30 and above is safe from the current version as the Task
  915. name has been changed.
  916. Easy to remove, we just delete the file.
  917.  
  918. Byte Parasite
  919. - A simple virus. Does not infect memory, opens a window claiming to be
  920. VirusX checking df0:, if the file df0:c/virusx exists it will copy it to
  921. df1:c/virusx. Thats it.
  922.  
  923. Byte Parasite II
  924. - This one calls itself Virus-Checker. This one will copy itself to memory
  925. and when it sees a disk change will copy itself onto the disk. After 7
  926. copies it will try and wipe out the disk. Takes over the Level 3 interrupt
  927. and cool-capture vectors. Easy to remove from disk and memory
  928.  
  929. Lamer Trojen
  930. - This file has a copy of the Lamer Exterminator BootBlock virus in it.
  931. Running it will infect your memory and then infect bootblocks as normal.
  932.  
  933. Freedom
  934. - This one does not seem to infect memory or copy itself but says it is
  935. trying to check df0: for 126 viruses. If the disk is write protected it
  936. says sorry, otherwise it sounds like it is scanning the disk. It will say
  937. it has removed the smily cancer and saddam virus a few times. The disk
  938. afterward is usually corrupted.
  939.